#ifndef SCENEGRAPH_H
#define SCENEGRAPH_H

#include "ISceneNode.h"
#include "RootNode.h"
#include <map>



namespace gull{
    namespace core{
        
        typedef std::map<const char*, gull::core::ISceneNode*> sceneNodesMap;
        typedef std::pair<const char*, ISceneNode*> stringSceneNodePair;
		
        class SceneGraph
        {
            friend class Scene;
            
        public:
            SceneGraph();
            SceneGraph(const SceneGraph& s);
            ~SceneGraph();
            ISceneNode* findNode(const char* name) const;
            
        private:
			RootNode m_root;
            sceneNodesMap m_sceneNodes;
            void addNode(ISceneNode* n);
            
            
        };
        
    }
}
#endif
